package 基础语法.反射;
import java.lang.annotation.Retention;
public class MyClass {
    private int a;
    protected int b;
    public int c;
    private final int d=0;
    private static int e;
    private static final int f=0;
    public MyClass(){}
    public  MyClass(int a,int b){

    }
    public void setB(int b){
        this.b=b;
    }
    protected MyClass(int c,int a,int b){

    }
    @InnerMyClass(someClass =String.class,someString = {"1","2"},someInt=10,otherAnno=@AnotherInnerMyClass(anotherString = "nothing"))
    private boolean setC(int c) throws NoSuchFieldException,NoClassDefFoundError{
         this.c=c;
         return true;

    }
    private MyClass(int a){
        this.a=a;

    }
   
    private int getA(){
        return a;
    }
    static int getE(){
        return e;
    }
    @Deprecated
    public String toString(){
        int a[]=new int[]{1,2,2};
        return "MyClass:{a:"+a+"},{b:"+b+"},{c:"+c+"}";
        
    }
}

@Retention(java.lang.annotation.RetentionPolicy.RUNTIME)
@interface InnerMyClass {
    Class someClass();
    String[] someString();
    int someInt() default 9;
    AnotherInnerMyClass otherAnno();
}
@Retention(java.lang.annotation.RetentionPolicy.RUNTIME)
@interface AnotherInnerMyClass {
    String anotherString();
   
}